--- ./src/pragha-simple-async.c.orig	2013-02-14 12:26:41.000000000 +0000
+++ ./src/pragha-simple-async.c	2013-02-23 23:10:46.000000000 +0000
@@ -68,7 +68,20 @@
 void
 pragha_async_launch (GThreadFunc worker_func, GSourceFunc finish_func, gpointer user_data)
 {
-	g_thread_unref (pragha_async_launch_full (worker_func, finish_func, user_data));
+	AsyncSimple *as;
+
+
+	as = g_slice_new0(AsyncSimple);
+	as->func_w = worker_func;
+	as->func_f = finish_func;
+	as->userdata = user_data;
+	as->finished_data = NULL;
+
+	#if GLIB_CHECK_VERSION(2, 31, 0)
+	g_thread_unref(g_thread_new("Launch async", pragha_async_worker, as));
+	#else
+	g_thread_create(pragha_async_worker, as, FALSE, NULL);
+	#endif
 }
 
 GThread *
